package com.qfjy.client;

/**
 * 使用Feign非常简单——创建一个接口，并在接口上添加一些注解
 *   com.qfjy.client.VideoInfoFiegnClient
 */

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 用于通知Feign组件对该接口进行代理(不需要编写接口实现)，
 name属性指定我们要调用哪个服务。使用者可直接通过@Autowired注入。
 DUDU-USER是Eureka中Application
 path 定义当前FeignClient统一前缀（用户微服务上下文路径是：dudu-user
 */
@FeignClient(name = "QF-VIDEO",path = "videoInfo")
public interface VideoInfoFiegnClient {


    //SpringCloud对Feign进行了增强，使Feign支持了SpringMVC注解，并整合了Ribbon和Eureka， 从而让Feign的使用更加方便。
    @GetMapping("select")
    @ResponseBody
    public String selectVideoInfoByPcode(@RequestParam("pcode") String pcode);

    /*
      //Ribbon+RestTemplate: 当Ribbon与Eureka配合使用时，
        // Ribbon可自动从Eureka Server获取服务提供者地址列表，并基于负载均衡算法，请求其中一个服务提供者实例
        String url="http://QF-VIDEO/videoInfo/select?pcode="+pcode;
       String videoResult=restTemplate.getForObject(url,String.class);
     */


    @GetMapping("select1")
    @ResponseBody
    public String selectVideoInfoByPcode1(@RequestParam("pcode") String pcode);
}
